package com.dhee.creditcardsystem.model;


import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.*;

public class App {
    // 第一页字段
    private String appcd;
    private String cstid;
    private String syokbn;
//    @NotBlank(message = "メールアドレスは必須項目です")
    @Email(message = "有効なメールアドレスを入力してください")
    private String mail;

//    @NotBlank(message = "生年月日は必須項目です")
    @Pattern(regexp = "^\\d{4}-\\d{2}-\\d{2}$", message = "生年月日はYYYY-MM-DD形式で入力してください")
    private String ber;

    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式错误 应该为11位数字且以1开头")
    private String pho;

    private String ukttme;
    private String appsts;
    private String brdcd;
    private String crdshucd;

//    @NotBlank(message = "個人・法人区分は必須項目です")
    @Pattern(regexp = "^[01]$", message = "個人・法人区分は0または1で入力してください")
    private String kjnhjn;

//    @NotBlank(message = "姓は必須項目です")
    @Size(max = 15, message = "姓は15文字以内で入力してください")
    private String seikj;

//    @NotBlank(message = "名は必須項目です")
    @Size(max = 15, message = "名は15文字以内で入力してください")
    private String meikj;

//    @NotBlank(message = "姓(フリガナ)は必須項目です")
    @Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "姓(フリガナ)はカタカナで入力してください")
    @Size(max = 15, message = "姓(フリガナ)は15文字以内で入力してください")
    private String seikn;

//    @NotBlank(message = "名(フリガナ)は必須項目です")
    @Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "名(フリガナ)はカタカナで入力してください")
    @Size(max = 15, message = "名(フリガナ)は15文字以内で入力してください")
    private String meikn;

    @Pattern(regexp = "^[A-Za-z\\s]*$", message = "ローマ字名はアルファベットで入力してください")
    @Size(max = 30, message = "ローマ字名は30文字以内で入力してください")
    private String seien;

    @Pattern(regexp = "^[A-Za-z\\s]*$", message = "ローマ字名はアルファベットで入力してください")
    @Size(max = 30, message = "ローマ字名は30文字以内で入力してください")
    private String meien;

//    @NotBlank(message = "性别は必須項目です")
    @Pattern(regexp = "^[01]$", message = "性别は0または1で入力してください")
    private String sex;


//    @NotBlank(message = "住所種別は必須項目です")
    @Pattern(regexp = "^[01]$", message = "住所種別は0または1で入力してください")
    private String jkysbt;

    @Pattern(regexp = "^([+]?[0-9]{2,4}[-]?[0-9]{1,4}[-]?[0-9]{3,4})?$", message = "有効な電話番号を入力してください")
    private String tel;


//    @NotBlank(message = "郵便番号は必須項目です")
    @Pattern(regexp = "^\\d{3}\\d{4}$", message = "郵便番号はXXX-XXXX形式で入力してください")
    private String post;

//    @NotBlank(message = "都道府県は必須項目です")
    private String knc;

//    @NotBlank(message = "市区町村は必須項目です")
    private String jskj1;

//    @NotBlank(message = "建物・部屋番号は必須項目です")
    private String jskj2;

//    @NotBlank(message = "市区町村(フリガナ)は必須項目です")
    @Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "市区町村(フリガナ)はカタカナで入力してください")
    private String jskn1;

//    @NotBlank(message = "建物・部屋番号(フリガナ)は必須項目です")
    @Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "建物・部屋番号(フリガナ)はカタカナで入力してください")
    private String jskn2;


//
//    @NotBlank(message = "ショッピング枠区分は必須項目です")
    private String spgtorkbn;

    private String spgkbn;

//    @NotBlank(message = "キャッシング枠区分は必須項目です")
    private String csgkbn;
    private String torkbn;
    private String driverid;
    private String kkhcd;
    private String hgsumk;
    private String kzkmlflg;
    private String cammlflg;
    // 为已存在的字段添加校验注解（如果还没有的话）
//    @NotBlank(message = "金融機関コードは必須項目です")
    @Pattern(regexp = "^\\d{4}$", message = "金融機関コードは4桁の数字で入力してください")
    private String bankcd;

//    @NotBlank(message = "支店コードは必須項目です")
    @Pattern(regexp = "^\\d{3}$", message = "支店コードは3桁の数字で入力してください")
    private String bchcd;

//    @NotBlank(message = "預金種別は必須項目です")
    @Pattern(regexp = "^[01]$", message = "預金種別は0または1で入力してください")
    private String ykn;

//    @NotBlank(message = "口座番号は必須項目です")
    @Pattern(regexp = "^\\d{7}$", message = "口座番号は7桁の数字で入力してください")
    private String actcd;
//
//    @NotBlank(message = "口座名義人は必須項目です")
    @Size(max = 15, message = "口座名義人は15文字以内で入力してください")
    private String actnae;

    private String actkkndte;
    private String actkknid;
    private String actkknnam;
    private String agtcd;
    private String hnnhhucd;
    private String hnnflg = "0";
    private String hks1;
    private String hks2;
    private String hks3;
    private String hks4;
    private String hnnkkndte;
    private String hnnkknid;



    private String hnnkknnam;
    private String gyocd;
    @Size(max = 50, message = "勤務先名は50文字以内で入力してください")
    private String kms;
    @Size(max = 50, message = "勤務先部署名は50文字以内で入力してください")
    private String kmsdep;
    @Pattern(regexp = "^([+]?[0-9]{2,4}[-]?[0-9]{1,4}[-]?[0-9]{3,4})?$", message = "有効な電話番号を入力してください")
    private String kmstel;

//    @NotBlank(message = "勤務先住所は必須項目です")
    @Size(max = 100, message = "勤務先住所は100文字以内で入力してください")
    private String kmsjs1;

//    @NotBlank(message = "勤務先住所は必須項目です")
    @Size(max = 100, message = "勤務先住所は100文字以内で入力してください")
    private String kmsjs2;

//    @NotBlank(message = "入社年月は必須項目です")
    @Pattern(regexp = "^\\d{6}$|^$", message = "入社年月はYYYYMM形式で入力してください")
    private String nshym;

//    @NotNull(message = "年収額は必須項目です")
@Pattern(regexp = "^\\d*$", message = "年収額は数字のみで入力してください")
private String nsg;

    private String kzkkbn;
    private String kzkflg = "0";
//    @NotBlank(message = "家族姓は必須項目です")
    @Size(max = 15, message = "家族姓は15文字以内で入力してください")
    private String kzkseikj;
    private String kzkseikn;
//@NotBlank(message = "家族姓(フリガナ)は必須項目です")
//@Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "家族姓(フリガナ)はカタカナで入力してください")
@Size(max = 15, message = "家族姓(フリガナ)は15文字以内で入力してください")
private String kzkseien;

//@NotBlank(message = "家族名は必須項目です")
@Size(max = 15, message = "家族名は15文字以内で入力してください")
private String kzkmeikj;
    @Size(max = 15, message = "家族名(フリガナ)は15文字以内で入力してください")
    private String kzkmeikn;
//@Pattern(regexp = "^[ァ-ヶー\\u30A0-\\u30FF]+$", message = "家族名(フリガナ)はカタカナで入力してください")
@Size(max = 15, message = "家族名(フリガナ)は15文字以内で入力してください")
private String kzkmeien;
    @Pattern(regexp = "^[129]$", message = "家族性別は1,2,または9で入力してください")
    private String kzksex;

    @Pattern(regexp = "^([0-9]{3})$", message = "業種コードは3桁の数字で入力してください")
    private String kzkgyocd;

    @Size(max = 50, message = "勤務先名は50文字以内で入力してください")
    private String kzkkms;

    @Size(max = 50, message = "勤務先部署名は50文字以内で入力してください")
    private String kzkkmsdep;

    @Pattern(regexp = "^([+]?[0-9]{2,4}[-]?[0-9]{1,4}[-]?[0-9]{3,4})?$", message = "有効な電話番号を入力してください")
    private String kzkkmstel;

//    @NotBlank(message = "家族情報登録方法は必須項目です")
    @Pattern(regexp = "^[12]$", message = "家族情報登録方法は1または2で入力してください")
    private String kzkhhucd;
    private String kzkks1;
    private String kzkks2;
    private String kzkks3;
    private String kzkks4;
    private String kzkkkndte;
    private String kzkkknid;
    private String kzkkknnam;

    // 第三页字段
    private String ysninf;
    private String skjsskflg;
    private String sskiritme;
    private String sskcd;
    private String sskjrytme;
    private String apponctme;
    private String oldcrdcd;
    private String insertdte = "2025/11/11";
    private String insertid = "moren";
    private String updatedte = "2025/11/11";
    private String updateid = "moren";
    private String deleteflg = "0";
    private String deletedte;


    public String getHnnkknnam() {
        return hnnkknnam;
    }

    public void setHnnkknnam(String hnnkknnam) {
        this.hnnkknnam = hnnkknnam;
    }

    // 构造函数
    public App() {
    }


    public String getSpgtorkbn() {
        return spgtorkbn;
    }

    public void setSpgtorkbn(String spgtorkbn) {
        this.spgtorkbn = spgtorkbn;
    }
    // Getter和Setter方法
    public String getAppcd() {
        return appcd;
    }

    public void setAppcd(String appcd) {
        this.appcd = appcd;
    }

    public String getCstid() {
        return cstid;
    }

    public void setCstid(String cstid) {
        this.cstid = cstid;
    }

    public String getSyokbn() {
        return syokbn;
    }

    public void setSyokbn(String syokbn) {
        this.syokbn = syokbn;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getBer() {
        return ber;
    }

    public void setBer(String ber) {
        this.ber = ber;
    }

    public String getPho() {
        return pho;
    }

    public void setPho(String pho) {
        this.pho = pho;
    }

    public String getUkttme() {
        return ukttme;
    }

    public void setUkttme(String ukttme) {
        this.ukttme = ukttme;
    }

    public String getAppsts() {
        return appsts;
    }

    public void setAppsts(String appsts) {
        this.appsts = appsts;
    }

    public String getBrdcd() {
        return brdcd;
    }

    public void setBrdcd(String brdcd) {
        this.brdcd = brdcd;
    }

    public String getCrdshucd() {
        return crdshucd;
    }

    public void setCrdshucd(String crdshucd) {
        this.crdshucd = crdshucd;
    }

    public String getKjnhjn() {
        return kjnhjn;
    }

    public void setKjnhjn(String kjnhjn) {
        this.kjnhjn = kjnhjn;
    }

    public String getSeikj() {
        return seikj;
    }

    public void setSeikj(String seikj) {
        this.seikj = seikj;
    }

    public String getSeikn() {
        return seikn;
    }

    public void setSeikn(String seikn) {
        this.seikn = seikn;
    }

    public String getSeien() {
        return seien;
    }

    public void setSeien(String seien) {
        this.seien = seien;
    }

    public String getMeikj() {
        return meikj;
    }

    public void setMeikj(String meikj) {
        this.meikj = meikj;
    }

    public String getMeikn() {
        return meikn;
    }

    public void setMeikn(String meikn) {
        this.meikn = meikn;
    }

    public String getMeien() {
        return meien;
    }

    public void setMeien(String meien) {
        this.meien = meien;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getJkysbt() {
        return jkysbt;
    }

    public void setJkysbt(String jkysbt) {
        this.jkysbt = jkysbt;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public String getKnc() {
        return knc;
    }

    public void setKnc(String knc) {
        this.knc = knc;
    }

    public String getJskj1() {
        return jskj1;
    }

    public void setJskj1(String jskj1) {
        this.jskj1 = jskj1;
    }

    public String getJskj2() {
        return jskj2;
    }

    public void setJskj2(String jskj2) {
        this.jskj2 = jskj2;
    }

    public String getJskn1() {
        return jskn1;
    }

    public void setJskn1(String jskn1) {
        this.jskn1 = jskn1;
    }

    public String getJskn2() {
        return jskn2;
    }

    public void setJskn2(String jskn2) {
        this.jskn2 = jskn2;
    }


    public String getSpgkbn() {
        return spgkbn;
    }

    public void setSpgkbn(String spgkbn) {
        this.spgkbn = spgkbn;
    }

    public String getCsgkbn() {
        return csgkbn;
    }

    public void setCsgkbn(String csgkbn) {
        this.csgkbn = csgkbn;
    }

    public String getTorkbn() {
        return torkbn;
    }

    public void setTorkbn(String torkbn) {
        this.torkbn = torkbn;
    }

    public String getDriverid() {
        return driverid;
    }

    public void setDriverid(String driverid) {
        this.driverid = driverid;
    }

    public String getKkhcd() {
        return kkhcd;
    }

    public void setKkhcd(String kkhcd) {
        this.kkhcd = kkhcd;
    }

    public String getHgsumk() {
        return hgsumk;
    }

    public void setHgsumk(String hgsumk) {
        this.hgsumk = hgsumk;
    }

    public String getKzkmlflg() {
        return kzkmlflg;
    }

    public void setKzkmlflg(String kzkmlflg) {
        this.kzkmlflg = kzkmlflg;
    }

    public String getCammlflg() {
        return cammlflg;
    }

    public void setCammlflg(String cammlflg) {
        this.cammlflg = cammlflg;
    }

    public String getBankcd() {
        return bankcd;
    }

    public void setBankcd(String bankcd) {
        this.bankcd = bankcd;
    }

    public String getBchcd() {
        return bchcd;
    }

    public void setBchcd(String bchcd) {
        this.bchcd = bchcd;
    }

    public String getYkn() {
        return ykn;
    }

    public void setYkn(String ykn) {
        this.ykn = ykn;
    }

    public String getActcd() {
        return actcd;
    }

    public void setActcd(String actcd) {
        this.actcd = actcd;
    }

    public String getActnae() {
        return actnae;
    }

    public void setActnae(String actnae) {
        this.actnae = actnae;
    }

    public String getActkkndte() {
        return actkkndte;
    }

    public void setActkkndte(String actkkndte) {
        this.actkkndte = actkkndte;
    }

    public String getActkknid() {
        return actkknid;
    }

    public void setActkknid(String actkknid) {
        this.actkknid = actkknid;
    }

    public String getActkknnam() {
        return actkknnam;
    }

    public void setActkknnam(String actkknnam) {
        this.actkknnam = actkknnam;
    }

    public String getAgtcd() {
        return agtcd;
    }

    public void setAgtcd(String agtcd) {
        this.agtcd = agtcd;
    }

    public String getHnnhhucd() {
        return hnnhhucd;
    }

    public void setHnnhhucd(String hnnhhucd) {
        this.hnnhhucd = hnnhhucd;
    }

    public String getHnnflg() {
        return hnnflg;
    }

    public void setHnnflg(String hnnflg) {
        this.hnnflg = hnnflg;
    }

    public String getHks1() {
        return hks1;
    }

    public void setHks1(String hks1) {
        this.hks1 = hks1;
    }

    public String getHks2() {
        return hks2;
    }

    public void setHks2(String hks2) {
        this.hks2 = hks2;
    }

    public String getHks3() {
        return hks3;
    }

    public void setHks3(String hks3) {
        this.hks3 = hks3;
    }

    public String getHks4() {
        return hks4;
    }

    public void setHks4(String hks4) {
        this.hks4 = hks4;
    }

    public String getHnnkkndte() {
        return hnnkkndte;
    }

    public void setHnnkkndte(String hnnkkndte) {
        this.hnnkkndte = hnnkkndte;
    }

    public String getHnnkknid() {
        return hnnkknid;
    }

    public void setHnnkknid(String hnnkknid) {
        this.hnnkknid = hnnkknid;
    }



    public String getGyocd() {
        return gyocd;
    }

    public void setGyocd(String gyocd) {
        this.gyocd = gyocd;
    }

    public String getKms() {
        return kms;
    }

    public void setKms(String kms) {
        this.kms = kms;
    }

    public String getKmsdep() {
        return kmsdep;
    }

    public void setKmsdep(String kmsdep) {
        this.kmsdep = kmsdep;
    }

    public String getKmstel() {
        return kmstel;
    }

    public void setKmstel(String kmstel) {
        this.kmstel = kmstel;
    }

    public String getKmsjs1() {
        return kmsjs1;
    }

    public void setKmsjs1(String kmsjs1) {
        this.kmsjs1 = kmsjs1;
    }

    public String getKmsjs2() {
        return kmsjs2;
    }

    public void setKmsjs2(String kmsjs2) {
        this.kmsjs2 = kmsjs2;
    }

    public String getNshym() {
        return nshym;
    }

    public void setNshym(String nshym) {
        this.nshym = nshym;
    }

    public String getNsg() {
        return nsg;
    }

    public void setNsg(String nsg) {
        this.nsg = nsg;
    }

    public String getKzkkbn() {
        return kzkkbn;
    }

    public void setKzkkbn(String kzkkbn) {
        this.kzkkbn = kzkkbn;
    }

    public String getKzkflg() {
        return kzkflg;
    }

    public void setKzkflg(String kzkflg) {
        this.kzkflg = kzkflg;
    }

    public String getKzkseikj() {
        return kzkseikj;
    }

    public void setKzkseikj(String kzkseikj) {
        this.kzkseikj = kzkseikj;
    }

    public String getKzkseikn() {
        return kzkseikn;
    }

    public void setKzkseikn(String kzkseikn) {
        this.kzkseikn = kzkseikn;
    }

    public String getKzkmeikn() {
        return kzkmeikn;
    }

    public void setKzkmeikn(String kzkmeikn) {
        this.kzkmeikn = kzkmeikn;
    }

    public String getKzkseien() {
        return kzkseien;
    }

    public void setKzkseien(String kzkseien) {
        this.kzkseien = kzkseien;
    }

    public String getKzkmeikj() {
        return kzkmeikj;
    }

    public void setKzkmeikj(String kzkmeikj) {
        this.kzkmeikj = kzkmeikj;
    }



    public String getKzkmeien() {
        return kzkmeien;
    }

    public void setKzkmeien(String kzkmeien) {
        this.kzkmeien = kzkmeien;
    }

    public String getKzksex() {
        return kzksex;
    }

    public void setKzksex(String kzksex) {
        this.kzksex = kzksex;
    }



    public String getKzkkms() {
        return kzkkms;
    }

    public void setKzkkms(String kzkkms) {
        this.kzkkms = kzkkms;
    }

    public String getKzkkmsdep() {
        return kzkkmsdep;
    }

    public void setKzkkmsdep(String kzkkmsdep) {
        this.kzkkmsdep = kzkkmsdep;
    }

    public String getKzkkmstel() {
        return kzkkmstel;
    }

    public void setKzkkmstel(String kzkkmstel) {
        this.kzkkmstel = kzkkmstel;
    }

    public String getKzkhhucd() {
        return kzkhhucd;
    }

    public void setKzkhhucd(String kzkhhucd) {
        this.kzkhhucd = kzkhhucd;
    }

    public String getKzkks1() {
        return kzkks1;
    }

    public void setKzkks1(String kzkks1) {
        this.kzkks1 = kzkks1;
    }

    public String getKzkks2() {
        return kzkks2;
    }

    public void setKzkks2(String kzkks2) {
        this.kzkks2 = kzkks2;
    }

    public String getKzkks3() {
        return kzkks3;
    }

    public void setKzkks3(String kzkks3) {
        this.kzkks3 = kzkks3;
    }

    public String getKzkks4() {
        return kzkks4;
    }

    public void setKzkks4(String kzkks4) {
        this.kzkks4 = kzkks4;
    }

    public String getKzkkkndte() {
        return kzkkkndte;
    }

    public void setKzkkkndte(String kzkkkndte) {
        this.kzkkkndte = kzkkkndte;
    }

    public String getKzkkknid() {
        return kzkkknid;
    }

    public void setKzkkknid(String kzkkknid) {
        this.kzkkknid = kzkkknid;
    }

    public String getKzkkknnam() {
        return kzkkknnam;
    }

    public void setKzkkknnam(String kzkkknnam) {
        this.kzkkknnam = kzkkknnam;
    }

    public String getYsninf() {
        return ysninf;
    }

    public void setYsninf(String ysninf) {
        this.ysninf = ysninf;
    }

    public String getSkjsskflg() {
        return skjsskflg;
    }

    public void setSkjsskflg(String skjsskflg) {
        this.skjsskflg = skjsskflg;
    }

    public String getSskiritme() {
        return sskiritme;
    }

    public void setSskiritme(String sskiritme) {
        this.sskiritme = sskiritme;
    }

    public String getSskcd() {
        return sskcd;
    }

    public void setSskcd(String sskcd) {
        this.sskcd = sskcd;
    }

    public String getSskjrytme() {
        return sskjrytme;
    }

    public void setSskjrytme(String sskjrytme) {
        this.sskjrytme = sskjrytme;
    }

    public String getApponctme() {
        return apponctme;
    }

    public void setApponctme(String apponctme) {
        this.apponctme = apponctme;
    }

    public String getOldcrdcd() {
        return oldcrdcd;
    }

    public void setOldcrdcd(String oldcrdcd) {
        this.oldcrdcd = oldcrdcd;
    }

    public String getInsertdte() {
        return insertdte;
    }

    public void setInsertdte(String insertdte) {
        this.insertdte = insertdte;
    }

    public String getInsertid() {
        return insertid;
    }

    public void setInsertid(String insertid) {
        this.insertid = insertid;
    }

    public String getUpdatedte() {
        return updatedte;
    }

    public void setUpdatedte(String updatedte) {
        this.updatedte = updatedte;
    }

    public String getUpdateid() {
        return updateid;
    }

    public void setUpdateid(String updateid) {
        this.updateid = updateid;
    }

    public String getDeleteflg() {
        return deleteflg;
    }

    public void setDeleteflg(String deleteflg) {
        this.deleteflg = deleteflg;
    }

    public String getDeletedte() {
        return deletedte;
    }

    public void setDeletedte(String deletedte) {
        this.deletedte = deletedte;
    }

    public String getKzkgyocd() {
        return kzkgyocd;
    }

    public void setKzkgyocd(String kzkgyocd) {
        this.kzkgyocd = kzkgyocd;
    }
}
